AWS Security Hubの通知内容をAWS CLIで調べる
とあるAWSアカウントでAWS Security Hubを有効にしたところ、通知がいっぱい出ました。 そのため、「まずは件数を知りたい!」となったので、AWS CLIを使って調べてみました。
おすすめの方
- AWS Security Hubの通知内容をAWS CLIで調べたい方
いろいろな条件で調べるコマンド
適宜アレンジしてください。なお、件数を知りたい場合はjqを利用しています。
重要度がCRITICAL
のタイトルだけを見たい
aws securityhub get-findings \ --filters '{"SeverityLabel":[{"Value": "CRITICAL","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title'
重要度がCRITICAL
の件数を知りたい
aws securityhub get-findings \ --filters '{"SeverityLabel":[{"Value": "CRITICAL","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
コンプライアンスのステータスがFAILED
の件数を知りたい
aws securityhub get-findings \ --filters '{"ComplianceStatus":[{"Value": "FAILED","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
コンプライアンスのステータスがFAILED
、かつ、レコード状態がACTIVE
の件数を知りたい
aws securityhub get-findings \ --filters '{"ComplianceStatus":[{"Value":"FAILED","Comparison":"EQUALS"}],"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
レコード状態がACTIVE
、かつ、重要度がCRITICAL
の件数を知りたい
aws securityhub get-findings \ --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"SeverityLabel":[{"Value": "CRITICAL","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
レコード状態がACTIVE
、かつ、重要度がCRITICAL
、かつ、ワークフローのステータスがNEW
orNOTIFIED
の件数を知りたい
aws securityhub get-findings \ --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"SeverityLabel":[{"Value":"CRITICAL","Comparison":"EQUALS"}],"WorkflowStatus":[{"Value":"NEW","Comparison":"EQUALS"},{"Value":"NOTIFIED","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
レコード状態がACTIVE
、かつ、重要度がHIGH
、かつ、ワークフローのステータスがNEW
orNOTIFIED
の件数を知りたい
aws securityhub get-findings \ --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"SeverityLabel":[{"Value":"HIGH","Comparison":"EQUALS"}],"WorkflowStatus":[{"Value":"NEW","Comparison":"EQUALS"},{"Value":"NOTIFIED","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
レコード状態がACTIVE
、かつ、重要度がMEDIUM
、かつ、ワークフローのステータスがNEW
orNOTIFIED
の件数を知りたい
aws securityhub get-findings \ --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"SeverityLabel":[{"Value":"MEDIUM","Comparison":"EQUALS"}],"WorkflowStatus":[{"Value":"NEW","Comparison":"EQUALS"},{"Value":"NOTIFIED","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
レコード状態がACTIVE
、かつ、重要度がLOW
、かつ、ワークフローのステータスがNEW
orNOTIFIED
の件数を知りたい
aws securityhub get-findings \ --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"SeverityLabel":[{"Value":"LOW","Comparison":"EQUALS"}],"WorkflowStatus":[{"Value":"NEW","Comparison":"EQUALS"},{"Value":"NOTIFIED","Comparison":"EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
レコード状態がACTIVE
、かつ、東京リージョン以外
の件数を知りたい
aws securityhub get-findings \ --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"ResourceRegion":[{"Value": "ap-northeast-1","Comparison":"NOT_EQUALS"}]}' \ --query 'Findings[].Title' | jq 'length'
なお、下記の違いがあります。
- Region: 調査結果が生成された地域
- ResourceRegion: 該当リソースがある地域
さいごに
AWS CLIでAWS Security Hubの通知を取得してみました。
filters
で使える値は、AWS CLIのドキュメントをご覧ください。